<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 静态方法 --- 构造函数自己的方法 

        //  语法 Promise.race([p1,p2,p3...])   比赛

        //   Promise.race()   
        //     谁先取得结果，就把谁的结果作为最终的结果，无论成败


        // const p1 = new Promise(function(resolve , reject){
        //     // 
        //     setTimeout(() => {
        //         const n = parseInt(Math.random() * 100) ;
        //         if(n % 2 === 0) {
        //             resolve('我第一次中奖号码:' + n)
        //         } else {
        //             // fail('没有中奖，号码是:' + n) ;
        //             reject('我第一次没有中奖，号码是:' +n)
        //         }
        //     } , 1000)
        // })


        // const p2 = new Promise(function(resolve , reject){
        //     // 
        //     setTimeout(() => {
        //         const n = parseInt(Math.random() * 100) ;
        //         if(n % 2 === 0) {
        //             resolve('我第二次中奖号码:' + n)
        //         } else {
        //             // fail('没有中奖，号码是:' + n) ;
        //             reject('我第二次没有中奖，号码是:' +n)
        //         }
        //     } , 100)
        // })


        // const p3 = new Promise(function(resolve , reject){
        //     // 
        //     setTimeout(() => {
        //         const n = parseInt(Math.random() * 100) ;
        //         if(n % 2 === 0) {
        //             resolve('我第三次中奖号码:' + n)
        //         } else {
        //             // fail('没有中奖，号码是:' + n) ;
        //             reject('我第三次没有中奖，号码是:' +n)
        //         }
        //     } , 1000)
        // })


        // const res = Promise.race([p1 , p2 , p3]) ;
        // console.log(res);

        // res
        // .then(
        //     data => {
        //         console.log(data);
        //     }
        // )
        // .catch(err => {
        //     console.log(err);
        // })



        const p1 = new Promise((resolve, reject) => {
            const xhr = new XMLHttpRequest();
            xhr.open('get', 'http://43.138.81.225/php/1.php', true);
            xhr.send();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    let data = xhr.responseText;
                    resolve(data);
                }
            }
        })

        const p2 = new Promise((resolve, reject) => {
            const xhr = new XMLHttpRequest();
            xhr.open('get', 'http://43.138.81.225/php/2.php', true);
            xhr.send();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    let data = xhr.responseText;
                    resolve(data);
                }
            }
        })

        const p3 = new Promise((resolve, reject) => {
            const xhr = new XMLHttpRequest();
            xhr.open('get', 'http://43.138.81.225/php/3.php', true);
            xhr.send();
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    let data = xhr.responseText;
                    resolve(data);
                }
            }
        })


        const res = Promise.race([p1,p2,p3]) ;

        res.then(data => {
            console.log(data);
        })


    </script>
    
</body>
</html>